Skip to content

fix(mobile): show project favicons in filters - #7984

Open
andybergon wants to merge 1 commit into
pingdotgg:mainfrom
andybergon:fix/mobile-project-filter-icons
Open

fix(mobile): show project favicons in filters#7984
andybergon wants to merge 1 commit into
pingdotgg:mainfrom
andybergon:fix/mobile-project-filter-icons

Conversation

@andybergon

@andybergon andybergon commented Aug 23, 2026

Copy link
Copy Markdown

Closes #7981

UI Changes

Before After
Android project filter without favicons Android project filter with recognized favicons

What Changed

The Android project filter now renders each project's resolved favicon on the right in the custom Android menu. All projects keeps its folder icon, and the selected check remains visible.

This applies to the Home header and persistent sidebar filter. iOS keeps using the native menu unchanged.

Why

T3 already resolves and displays these icons elsewhere, but Android's project filter only showed labels. That made projects harder to distinguish at a glance and inconsistent with desktop.

Test plan
  • Focused project-filter menu tests
  • Mobile typecheck and targeted format and lint checks
  • Android showcase verification at 1080 x 1920 in dark mode

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for the UI change
  • A video is not required because no animation or interaction changed

GPT-5 in Codex Desktop.


Note

Low Risk
Android-only UI in the custom anchored menu; iOS native menus are unchanged and filter action IDs stay the same.

Overview
Android project filter menus now show resolved project favicons next to each row, with a folder icon for All projects, while keeping the selected checkmark.

AndroidAnchoredMenu / ControlPillMenu gain an optional renderActionTrailing slot (ignored on iOS). Home header and the persistent sidebar pass AndroidProjectFilterIcon, and project filter options now include environmentId, workspaceRoot, and faviconPath so those icons can load.

Reviewed by Cursor Bugbot for commit 9fddde9. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Show project favicons in Android filter menus

  • Adds a renderActionTrailing prop to AndroidAnchoredMenu and ControlPillMenu, allowing custom trailing content per menu action on Android (no effect on iOS)
  • Introduces AndroidProjectFilterIcon which renders a folder icon for the 'All projects' action and a ProjectFavicon for specific project actions
  • Extends HomeListFilterMenuProject with environmentId, workspaceRoot, and faviconPath fields so project data is available to the icon renderer
  • Wires the icon renderer into the home header filter menu (HomeHeader.tsx) and the thread navigation sidebar (ThreadNavigationSidebar.tsx)
  • Adds buildAndroidProjectFilterActions and resolveAndroidProjectFilterProject utils to construct project menu actions with stable ids and resolve the matching project for icon rendering

Macroscope summarized 9fddde9.

@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: d9bbf2c8-1a99-40be-b89f-5b461c186fc2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Aug 23, 2026
@macroscopeapp

macroscopeapp Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Skipped

Macroscope did not run approvability analysis for this PR. Macroscope could not determine whether this PR modifies its approvability configuration, so the PR was not approved automatically. A PR that may change the rules that govern approval is never approved automatically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Android project filter omits recognized project favicons

1 participant